package com.youpai.platform.common.enums;

import com.youpai.platform.common.entity.code.BaseProcessCode;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * @author welles
 * @version 1.0
 * @description 状态编号，使用的是阿里定义的代码
 * @date 2021/6/26
 */
@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum ProcessCodeEnum implements BaseProcessCode {

    /**
     * 操作成功
     */
    SUCCESS("2000", "操作成功"),
    /**
     * 有特殊操作的code 2001 - 2999
     */
    USER_IS_REPETITION("2001", "用户已存在！"),
    APP_NOT_EXIST("2002", "appId不存在！"),
    /**
     * 参数异常 3000 - 3999
     */
    PARAM_ERROR("3000", "参数异常"),
    EMAIL_EMPTY("3001", "邮箱为空"),
    UID_EMPTY("3004", "用户id不能为空！"),
    GOODS_DESC_EMPTY("3005", "商品描述不能为空！"),
    GOODS_TYPE_ID_EMPTY("3006", "商品类型id不能为空！"),
    PRICE_EMPTY("3007", "价格不能为空！"),
    VALID_DAY_EMPTY("3008", "有效天数不能为空！"),
    GOODS_NAME_EMPTY("3009", "商品名称不能为空！"),
    GOODS_ID_EMPTY("3010", "商品id不能为空！"),
    PASSWORD_EMPTY("3011", "密码不能为空！"),
    ORDER_EMPTY("3012", "订单id不能为空！"),
    USER_UID_EMPTY("3013", "用户uid不能为空！"),
    BIGGOD_UID_EMPTY("3014", "大神uid不能为空！"),
    EVALUATE_ID_EMPTY("3015", "评价id不能为空！"),
    USER_LOGIN_ERROR("3016", "用户登录异常"),
    /**
     * 业务异常 40000 - 49999
     */
    TOKEN_FAILURE("4000", "用户未登录"),
    AUTH_FAILURE("4001", "用户权限不足"),
    SERVICE_OFFLINE("4002", "服务下线"),
    VERIFICATION_CODE_NOT_MATCH("4003", "验证码不正确"),
    USER_NOT_EXIST("4004", "用户不存在"),
    ACCOUNT_ADD_PLAY_COIN_OVER("4010", "当前目标已经超过结束时间"),
    DATE_FORMAT_ERROR("4012", "日期格式化失败"),
    OPERATE_BIZ_TYPE_NOT_EXIST("4018", "操作账户业务类型不存在"),
    OPERATE_REASON_NOT_EXIST("4019", "操作账户原因不存在"),
    OPERATE_TYPE_NOT_EXIST("4020", "操作账户类型不存在"),
    UPDATE_USER_INFO_ERROR("4024", "修改用户信息失败，请稍后重试！"),
    CHAT_ACCOUNT_NOT_FOUND("4025", "聊天账号未找到"),
    TWO_PASSWORD_NOT_AGREEMENT("4026", "两次输入密码不一致"),
    EMAIL_NOT_EXIST("4027", "用户不存在"),
    PWD_FIND_FAILED("4027", "用户不存在"),
    USER_STATE_NOT_VALID("4029", "非法用户状态"),
    USER_FOLLOW_FAILED("4030", "关注(取消关注)用户失败"),
    USER_FOLLOW_EXISTENCE("4031", "已关注当前用户"),
    USER_SKILL_FAILED("4032", "大神技能审批新增失败"),
    USER_SKILL_EXISTENCE_FAILED("4033", "大神技能审核失败"),
    USER_TYPE_FAILED("4034", "修改用户类型失败"),
    USER_SKILL_NOT_EXIST("4035", "当前技能审核不存在"),
    VERSION_NOT_EXIST("4036", "未获取到版本信息!"),
    MESSAGE_RECALL_OVERTIME("4037", "消息撤回超时"),

    REGISTER_WALLET_ERROR("4038", "注册钱包失败"),

    //订单品类相关异常
    CATEGORY_NAME_ISNULL("4051", "品类名称不能为空"),
    CATEGORY_DESC_ISNULL("4052", "品类描述不能为空"),
    CATEGORY_UNIT_ISNULL("4053", "品类单位不能为空"),
    CATEGORY_IMG_ISNULL("4054", "品类图标不能为空"),
    CATEGORY_ADD_EXCEPTION("4055", "新增品类失败!"),
    CATEGORY_NOT_REPETITION("4056", "当前品类不存在!"),
    CATEGORY_UPDATE_EXCEPTION("4057", "修改品类信息失败!"),
    CATEGORY_ID_ISNULL("4058", "品类ID不能为空!"),
    CATEGORY_REMOVE_EXCEPTION("4059", "删除品类信息失败!"),

    //技能审核相关异常
    SKILL_NOT_EXIST("4060", "当前选择技能不存在!"),
    SKILL_REMOVE_EXCEPTION("4061", "删除原技能信息失败!"),
    SKILL_EXAMINE_ADD_EXCEPTION("4064", "新增技能审核失败!"),
    SKILL_EXAMINE_NOT_REPETITION("4065", "当前技能审核信息不存在!"),
    SKILL_EXAMINE_REPEAT("4066", "当前技能审核已通过，无需重复审核!"),
    SKILL_EXAMINE_UPDATE_EXCEPTION("4067", "修改技能审核信息失败!"),
    SKILL_EXAMINE_REMOVE_EXCEPTION("4068", "删除技能审核信息失败!"),
    SKILL_EXAMINE_FAILED("4070", "技能审核失败!"),
    SKILL_ADD_EXCEPTION("4071", "新增技能失败!"),
    BIGGOD_ADD_EXCEPTION("4072", "新增大神失败!"),
    SCREENSHOT_ISNULL("4073", "图片不能为空!"),

    //订单评价相关异常
    EVALUATE_ISNULL("4074", "评价不能为空"),
    STAR_ISNULL("4075", "星级不能为空"),
    EVALUATE_ADD_EXCEPTION("4076", "评价失败!"),
    EVALUATE_REMOVE_EXCEPTION("4077", "删除评价失败!"),
    EVALUATE_NOT_EXIST("4078", "当前评价不存在!"),

    //订单相关异常
    ORDER_ADD_EXCEPTION("4079", "新增订单失败!"),
    ORDER_STATUS_UPDATE_EXCEPTION("4080", "修改订单状态失败!"),
    PAY_EXCEPTION("4081", "支付失败!"),
    ORDER_NOT_EXIST("4082", "当前订单不存在!"),
    LOGIN_USER_ORDER_USER_NOT_AGREEMENT("4083", "当前登录用户和当前订单用户不一致!"),
    ORDER_EVALUATE_EXIST("4084", "当前订单已评价，不能重复评价!"),
    ORDER_ID_ISNULL("4085", "订单ID不能为空!"),


    /**
     * 文件系统异常 5000 - 5999
     */
    UP_LOAD_FILE_CAN_NOT_BE_NULL("5001", "上传文件为空"),
    UP_LOAD_FILE_NAME_CAN_NOT_BE_NULL("5002", "上传文件名为空"),
    FILE_NOT_EXIST("5003", "文件不存在"),
    ;
    /**
     * 编号
     */
    public String code;

    /**
     * 描述
     */
    public String desc;
}
